/*
 * member_vip 会员管理 Dao层增删改查
*/
const baseDao = require('./BaseDao');

module.exports = {
    /**
     * 新增一条记录
     * @param vip_name                会员名称
     * @param vip_discount            会员折扣系数
     * @param vip_total_consume       会员总消费金额
     * @param vip_phone               会员电话
     * @returns                       返回操作的结果
     */
    insertMemberVip(vip_name, vip_discount, vip_total_consume, vip_phone){
        return baseDao.handleData('insert into member_vip(vip_name, vip_discount, vip_total_consume, vip_phone) values(?,?,?,?)',
            [vip_name, vip_discount, vip_total_consume, vip_phone]);
    },
    /**
     * 根据传递的主键id删除某一条记录
     * @param id                主键id
     * @returns                 返回操作的结果
     */
    deleteMemberVipById(id){
        return baseDao.handleData('delete from member_vip where id=?',
            [id]);
    },
    /**
     * 根据主键id更新数据
     * @param vip_name                会员名称
     * @param vip_discount            会员折扣系数
     * @param vip_total_consume       会员总消费金额
     * @param vip_phone               会员电话
     * @param id                      菜品id
     * @returns                       返回操作的结果
     */
    updateMemberVipById(vip_name, vip_discount, vip_total_consume, vip_phone, id){
        // 暂时不更新图片
        return baseDao.handleData('update member_vip set vip_name=?, vip_discount=?, vip_total_consume=?, vip_phone=? where id=?',
            [vip_name, vip_discount, vip_total_consume, vip_phone, id]);
    },
    /**
     * 查询所有的数据
     * @returns            返回操作的结果
     */
    selectAllMemberVip(){
        return baseDao.handleData('select id, vip_name, vip_discount, vip_total_consume, vip_phone from member_vip', null);
    },
    /**
     * 基于一个主键id查询一条记录
     * @param id          主键id
     * @returns           返回操作的结果
     */
    selectMemberVipById(id){
        return baseDao.handleData('select id, vip_name, vip_discount, vip_total_consume, vip_phone from member_vip where id=?',
            [id]);
    },
    /**
     * 基于一个电话查询一条记录
     * @param phone        电话
     * @returns           返回操作的结果
     */
    selectMemberVipByPhone(phone){
        return baseDao.handleData('select id, vip_name, vip_discount, vip_total_consume, vip_phone from member_vip where vip_phone=?',
            [phone]);
    },
    /**
     * 根据用户传递模糊名称进行统计个数
     * @param vip_name        模糊名称
     * @returns                        返回操作的结果
     */
    selectMemberVipCount(vip_name){
        return baseDao.handleData('select count(*) from member_vip where vip_name like ?',
            ["%" + vip_name + "%"]);
    },
    /**
     * 基于分页查询每页数据 每页显示10条
     * @param startIndex          起始下标
     * @returns                   返回操作的结果
     */
    selectMemberVipByLimit(startIndex){
        return baseDao.handleData('select id, vip_name, vip_discount, vip_total_consume, vip_phone from member_vip limit ?,10',
            [startIndex]);
    }
};
